package com.lanxin.hr.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.lanxin.hr.entity.*;
import com.lanxin.hr.vo.EmpVo;

import java.util.List;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author cyh
 * @since 2025-07-16
 */
public interface IZzEmployeeService extends IService<ZzEmployee> {
    //根据部门id和职位id查询下属员工
    public List<ZzEmployee> listEmpUseSelect(Integer deptid, Integer jobid);

    //查询部门下的员工
    public List<ZzEmployee> listEmpByDid(Integer did);

    //根据条件分页查询员工信息
    public IPage<EmpVo> listEmpVo(ZzEmployee employee, Integer page, Integer pageSize);

    //添加员工信息及账号等信息
    public int addEmp(ZzEmployee employee, ZzAccount account, ZzJobinfo jobinfo,List<ZzExprience> experience);

    //根据员工id查询EmpVo
    public EmpVo getEmpVoByEid(Integer eid);

    //更新员工信息
    public int updateEmp(ZzEmployee employee,ZzAccount account,ZzJobinfo jobinfo,List<ZzExprience> experiences);

    //更新员工状态
    public boolean updateEmpStatus(Integer eid, String status);

    //删除员工
    public boolean deleteEmp(Integer eid);

    //修改员工的部门和职位
    public int adjustEmp(ZzAdjustment adjustment);

    //根据id查询员工信息
    public ZzEmployee getEmpById(Integer eid);
}
